package efu.nf.seckilldemo.mapper;

import efu.nf.seckilldemo.entity.Order;
import org.apache.ibatis.annotations.Param;

/**
 * @author lwj
 * @create 2025-09-28-11:53
 */
public interface OrderMapper {
    /**
     * 根据 订单id 查询订单
     * @param orderId 订单编号
     */
    Order getOrderById(@Param("orderId") Integer orderId);

    /**
     * 根据 用户id 和 商品id 查询订单
     * @param userId
     * @param goodsId
     * @return
     */
    Order getOrderByUserIdAndGoodsId(@Param("userId") Integer userId,
                                     @Param("goodsId") Integer goodsId);

    /**
     * 生成订单
     * @param order 订单信息
     */
    void createOrder(Order order);

    /**
     * 修改订单状态
     * @param orderId 订单编号
     * @param status  订单状态
     */
    void updateStatus(@Param("orderId") Integer orderId,
                      @Param("status") Integer status);
}
